home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / nktools.zip / ERRMSG.PAS < prev    next >
Pascal/Delphi Source File  |  1990-06-04  |  4KB  |  71 lines

  1. unit ErrMsg;
  2. (*====================================================================*\
  3. || MODULE NAME:  ErrMsg                                               ||
  4. || DEPENDENCIES: System                                               ||
  5. || LAST MOD ON:  9004.08                                              ||
  6. || PROGRAMMER:   Naoto Kimura                                         ||
  7. ||                                                                    ||
  8. ||     This unit was made for those who want to have more descriptive ||
  9. || error messages from Turbo Pascal programs.  The error messages     ||
  10. || will be sent to the standard DOS output file.  The "EndWait" unit  ||
  11. || is installed for version 5 of the compiler.                        ||
  12. ||                                                                    ||
  13. || MODIFICATION HISTORY:                                              ||
  14. || 8905.31       Naoto Kimura                                         ||
  15. ||               Original release                                     ||
  16. || 9001.17       Naoto Kimura                                         ||
  17. ||               Modified to use some of the lower level DOS system   ||
  18. ||               calls to try to shrink code.                         ||
  19. ||               (The TPU file shrunk to slightly more than half the  ||
  20. ||                original size)                                      ||
  21. || 9004.08       Naoto Kimura                                         ||
  22. ||               Rewrote parts in assembler to make more compact.     ||
  23. ||               (The TPU file shrunk to less than half the original  ||
  24. ||                size!)                                              ||
  25. || 9005.11       Naoto Kimura                                         ||
  26. ||               Added error message for version 5.5 of Turbo Pascal. ||
  27. \*====================================================================*)
  28. {$D-}    {No debug information}
  29. {$R-}    {No range checking}
  30. {$O-}    {Overlay disallowed}
  31. {$S-}    {No stack checking}
  32.  
  33. interface
  34.  
  35. {$IFNDEF VER40}
  36. uses
  37.     EndWait;
  38. {$ENDIF}
  39.  
  40. (*--------------------------------------------------------------------*\
  41. | "VerboseMsg" is a static variable that determines the verbosity of   |
  42. | the error messages.   If TRUE, then the error messages are verbose,  |
  43. | usually including a message listing the possible causes for the      |
  44. | error.                                                               |
  45. \*--------------------------------------------------------------------*)
  46. const {really a static variable}
  47.     VerboseMsg    : boolean    = TRUE;
  48.  
  49. implementation
  50.  
  51. const
  52.     ExitSave    : pointer    = NIL;
  53.  
  54. (*--------------------------------------------------------------------*\
  55. | NAME: ErrorMessage                                                   |
  56. |                                                                      |
  57. |     This is the procedure installed by the ErrMsg unit as an exit    |
  58. | procedure.   This procedure prints out a text message that will be   |
  59. | more helpful than the plain error code numbers output by the exit    |
  60. | procedure in the standard Turbo Pascal "System" unit.                |
  61. \*--------------------------------------------------------------------*)
  62. {$F+}
  63. {$L ErrMsg.OBJ}
  64. {far} procedure ErrorMessage;
  65.     External;
  66.  
  67. begin (* unit initialization code *)
  68.     ExitSave := ExitProc;        {Remember old exit procedure}
  69.     ExitProc := @ErrorMessage        {Install error message routine}
  70. end.
  71.